package cn.exrick.xboot.cummunity.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.Map;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import org.codehaus.jettison.json.JSONObject;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 社区跑腿-订单列表
 * </p>
 *
 * @author xujiaxin
 * @since 2024-08-22
 */
@Data
@TableName(value = "cum_order", autoResultMap = true)
@ApiModel(value = "社区跑腿-订单列表")
public class CumOrder implements Serializable {

private static final long serialVersionUID = 1L;

/**
 * 
 */
@TableId(value = "id", type = IdType.AUTO)
@TableField(value = "id")
@ApiModelProperty(value = "")
private Long id;

/**
 * 联系电话
 */
@TableField(value = "phone")
@ApiModelProperty(value = "联系电话")
private String phone;

/**
 * 服务类型
 */
@TableField(value = "req_type")
@ApiModelProperty(value = "服务类型")
private String reqType;

/**
 * 预约时间
 */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "order_start_time")
@ApiModelProperty(value = "预约时间")
private Date orderStartTime;

/**
 * 图片
 */
@TableField(value = "img")
@ApiModelProperty(value = "图片")
private String img;

/**
 * 家政服务类型
 */
@TableField(value = "housemake_type")
@ApiModelProperty(value = "家政服务类型")
private String housemakeType;

/**
 * 家政服务地址
 */
@TableField(value = "housemake_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "家政服务地址")
private Map<String,String> housemakeAddress;

/**
 * 房屋面积
 */
@TableField(value = "housemake_space")
@ApiModelProperty(value = "房屋面积")
private Integer housemakeSpace;

/**
 * 维修类型
 */
@TableField(value = "housemake_mt_type")
@ApiModelProperty(value = "维修类型")
private String housemakeMtType;

/**
 * 跑腿类型
 */
@TableField(value = "errand_type")
@ApiModelProperty(value = "跑腿类型")
private String errandType;

/**
 * 取件地
 */
@TableField(value = "errand_pick_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "取件地")
private Map<String,String> errandPickAddress;

/**
 * 送往地
 */
@TableField(value = "errand_destinate_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "送往地")
private Map<String,String> errandDestinateAddress;

/**
 * 大小
 */
@TableField(value = "errand_size")
@ApiModelProperty(value = "大小")
private String errandSize;

/**
 * 数量
 */
@TableField(value = "errand_num")
@ApiModelProperty(value = "数量")
private Integer errandNum;

/**
 * 养老服务类型
 */
@TableField(value = "old_type")
@ApiModelProperty(value = "养老服务类型")
private String oldType;

/**
 * 服务医院
 */
@TableField(value = "old_hospital")
@ApiModelProperty(value = "服务医院")
private String oldHospital;

/**
 * 陪诊人
 */
@TableField(value = "old_person")
@ApiModelProperty(value = "陪诊人")
private String oldPerson;

/**
 * 陪诊特殊要求
 */
@TableField(value = "old_special_req")
@ApiModelProperty(value = "陪诊特殊要求")
private String oldSpecialReq;

/**
 * 上门地址（简单打扫卫生）
 */
@TableField(value = "old_pick_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "上门地址（简单打扫卫生）")
private Map<String,String> oldPickAddress;

/**
 * 房屋面积
 */
@TableField(value = "old_space")
@ApiModelProperty(value = "房屋面积")
private Integer oldSpace;

/**
 * 上门煮饭地址
 */
@TableField(value = "food_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "上门煮饭地址")
private Map<String,String> foodAddress;

/**
 * 上门煮饭要求
 */
@TableField(value = "food_req")
@ApiModelProperty(value = "上门煮饭要求")
private String foodReq;

/**
 * 接送小孩去哪里接
 */
@TableField(value = "kids_pick_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "接送小孩去哪里接")
private Map<String,String> kidsPickAddress;

/**
 * 接送小孩送到哪里
 */
@TableField(value = "kids_destinate_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "接送小孩送到哪里")
private Map<String,String> kidsDestinateAddress;

/**
 * 小孩姓名
 */
@TableField(value = "kids_name")
@ApiModelProperty(value = "小孩姓名")
private String kidsName;

/**
 * 所在班级
 */
@TableField(value = "kids_class")
@ApiModelProperty(value = "所在班级")
private String kidsClass;

/**
 * 宠物类型
 */
@TableField(value = "pet_type")
@ApiModelProperty(value = "宠物类型")
private String petType;

/**
 * 取宠地
 */
@TableField(value = "pet_pick_address", typeHandler = JacksonTypeHandler.class)
@ApiModelProperty(value = "取宠地")
private Map<String,String> petPickAddress;

/**
 * 金额
 */
@TableField(value = "price")
@ApiModelProperty(value = "金额")
private Integer price;

/**
 * 订单状态（发布、已接单、待评价、已完成、已作废）
 */
@TableField(value = "order_status")
@ApiModelProperty(value = "订单状态（发布、已接单、待评价、已完成、已作废）")
private String orderStatus;

/**
 * 创建人
 */
@TableField(value = "create_user")
@ApiModelProperty(value = "创建人")
private String createUser;

/**
 * 创建人
 */
@TableField(value = "create_user_openid")
@ApiModelProperty(value = "创建人openid")
private String createUserOpenid;

/**
 * 创建时间
 */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "create_date")
@ApiModelProperty(value = "创建时间")
private Date createDate;

/**
 * 创建人头像
 */
@TableField(value = "create_user_avatar")
@ApiModelProperty(value = "创建人头像")
private String createUserAvatar;

/**
 * 创建人名称
 */
@TableField(value = "create_user_name")
@ApiModelProperty(value = "创建人名称")
private String createUserName;

/**
 * 接单人
 */
@TableField(value = "pick_user")
@ApiModelProperty(value = "接单人")
private String pickUser;

/**
 * 接单人
 */
@TableField(value = "pick_user_openid")
@ApiModelProperty(value = "接单人openid")
private String pickUserOpenid;

/**
 * 接单时间
 */
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "pick_date")
@ApiModelProperty(value = "接单时间")
private Date pickDate;

/**
 * 接单人头像
 */
@TableField(value = "pick_user_avatar")
@ApiModelProperty(value = "接单人头像")
private String pickUserAvatar;

/**
 * 接单人姓名
 */
@TableField(value = "pick_user_name")
@ApiModelProperty(value = "接单人姓名")
private String pickUserName;


    /**
     * 接单人联系方式
     */
    @TableField(value = "pick_user_phone")
    @ApiModelProperty(value = "接单人联系方式")
    private String pickUserPhone;
}
